A well known method of interpolation of intermediate images in a sequence is the use of “motion compensation” in which the changes in position of image features from one image to another are analysed and represented as two dimensional “motion vectors”. Typically a vector is associated with a region in an image and the vector describes the direction and magnitude of the change in position of image features within that region from one image in the sequence to another. Interpolated images are then created by taking weighted sums of information from more than one image in the sequence; and, regions of the pictures are moved in dependence upon relevant motion vectors before the summation so as to avoid multiple images due to motion or change of viewpoint.
Although the terms “motion” and “motion vector” are used in this specification it must be appreciated that these terms are intended to relate to differences in position of features in a sequence of images and these difference may not necessarily be due to motion, they could equally be due to changes of viewpoint, or other sources of difference between images in a sequence of images.
A region may include more than one visible object and it is not unusual for more than one motion vector to be created for the same image region. The phase correlation method of motion vector creation is particularly able to identify a number of motion vectors within the same picture region. The process of motion-compensated interpolation is made more difficult when objects occlude one another and new features are revealed, or previously-visible features are concealed, as the image sequence proceeds.
Where several vectors are identified in a particular picture region it is often necessary to make a decision as to which vector to apply to each pixel in that region. For example, several prior art systems choose one of the applicable motion vectors to determine read or write storage addresses for input pixels, and an inappropriate choice may lead to severe problems. Because motion compensated interpolation involves changing the positions of features in the image in response to measured motion vectors, errors in the motion measurement can lead to highly visible artefacts; these can include unnatural hard edges to image features.